export function isObejct(obj) {
  return typeof obj === "object" && obj !== null;
}

export function isFunction(obj) {
  return typeof obj === "function";
}

export const ISPROXY = Symbol("isProxy");

export function isProxy(obj) {
  return (
    obj && isObejct(obj) && (obj[ISPROXY] === true || Reflect.has(obj, ISPROXY))
  );
}

export function hasNoChange(oldValue, newValue) {
  return Object.is(oldValue, newValue);
}
